﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Ex03Dll;

/// <summary>
/// 问题：对不能修改的类添加新的功能
/// 解决方案：使用扩展方法
/// </summary>
namespace Ex03
{
    class Program
    {
        static void Main(string[] args)
        {
            var calculator = new Calculator();
            var result = calculator.Add(10,20);
            var subtract = calculator.Subtract(10,1);//像是caculator对象多出了一个行为
            var i = CalculatorExtension.Subtract(calculator,10,2);//静态方法调用方式
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
    /// <summary>
    /// 对Calculator扩展一个Substract方法
    /// </summary>
    public static class CalculatorExtension
    {
        public static int Subtract(this Calculator cal, int n1, int n2)
        {
            return n1 - n2;
        }

    }
}
